Перем ЮнитТест;

#Область ОбработчикиСобытийМодуля

Функция ПолучитьСписокТестов(МенеджерТестирования) Экспорт
	
	ЮнитТест = МенеджерТестирования;

	СписокТестов = Новый Массив;
	СписокТестов.Добавить("ТестКонструктор");
	СписокТестов.Добавить("TestConstructor");
	СписокТестов.Добавить("ТестВидГруппы");
	СписокТестов.Добавить("ТестФрагменты");

	Возврат СписокТестов;

КонецФункции

#КонецОбласти

#Область ОбработчикиТестирования

Процедура ТестКонструктор() Экспорт

	ГруппаМодели = Новый ГруппаМоделиXS;
	
	ЮнитТест.ПроверитьРавенство(ТипЗнч(ГруппаМодели), Тип("ГруппаМоделиXS"));
	ЮнитТест.ПроверитьРавенство(ГруппаМодели.ТипКомпоненты, ТипКомпонентыXS.ГруппаМодели);
	ЮнитТест.ПроверитьРавенство(ГруппаМодели.ВидГруппы, ВидГруппыМоделиXS.Последовательность);
	ЮнитТест.ПроверитьРавенство(ТипЗнч(ГруппаМодели.Компоненты), Тип("ФиксированныйСписокКомпонентXS"));
	ЮнитТест.ПроверитьРавенство(ТипЗнч(ГруппаМодели.Фрагменты), Тип("СписокКомпонентXS"));

КонецПроцедуры

Procedure TestConstructor() Export

	ModelGroup = New XSModelGroup;

	ЮнитТест.ПроверитьРавенство(TypeOf(ModelGroup), Type("XSModelGroup"));
	ЮнитТест.ПроверитьРавенство(ModelGroup.ComponentType, XSComponentType.ModelGroup);

EndProcedure

Процедура ТестВидГруппы() Экспорт

	ГруппаМодели = Новый ГруппаМоделиXS;

	ГруппаМодели.ВидГруппы = ВидГруппыМоделиXS.Выбор;

	ЮнитТест.ПроверитьРавенство(ГруппаМодели.ВидГруппы, ВидГруппыМоделиXS.Выбор);
	
КонецПроцедуры

Процедура ТестФрагменты() Экспорт

	ГруппаМодели = Новый ГруппаМоделиXS;

	ОбъявлениеЭлемента = Новый ОбъявлениеЭлементаXS;
	
	ГруппаМодели.Фрагменты.Добавить(ОбъявлениеЭлемента);

	ЮнитТест.ПроверитьРавенство(ГруппаМодели.Фрагменты.Количество(), 1);
	ЮнитТест.ПроверитьИстину(ГруппаМодели.Содержит(ОбъявлениеЭлемента));
	
КонецПроцедуры

#КонецОбласти